/**
 * @Function 归集部门绩效统计DAO
 * @ProjectName credit-data-platform
 * @PackageName com.py.credit.dao
 * @FileName AchievementCountDao.java
 * @Date 2018年5月14日下午12:04:20
 * @Author Min DongXv
 * @Copyright (c) 2018, 金电联行 All Rights Reserved.
 */
package com.py.credit.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.py.credit.entity.PromiseBookLog;
import com.py.credit.entity.PromiseBookReport;
import com.py.framework.core.common.Page;

/**
 * @Function 归集部门绩效统计DAO
 * @ClassName AchievementCountDao
 * @Date 2018年5月14日 下午12:04:20
 * @Author Min DongXv
 */
public interface PromiseBookStatisticsDao {
	
	List<Map<String,Object>> getPromiseBooksByConditionForPage(
			@Param(value="type")String type,
			@Param(value="ztType")String ztType,
			@Param(value="deptId")Long deptId,
			@Param(value="columns")List<String> columns, 
			@Param(value="additionalColumns")String[] additionalColumns, 
			@Param(value="conditions")List<String> conditions, 
			@Param(value="page")Page page);
	
	List<Map<String, Object>> getStatistics(@Param(value="type")String type , @Param(value="ztType")String ztType , @Param(value="topDeptId")Long topDeptId);
	
	List<Map<String, Object>> promiseBooksByZtForPage(@Param(value="ztName")String ztName , @Param(value="page")Page page);
	
	List<Map<String, Object>> getAllTopDepts();
	
	List<Map<String, Object>> getStatisticsForPage(@Param(value="page")Page page);
	
	List<Map<String, Object>> getStatisticsByType(@Param(value="type")String type , @Param(value="ztType")String ztType , @Param(value="topDeptId")Long topDeptId);
	
	
	List<Map<String,Object>> promiseBooksByConditionForPage(
			@Param(value="ztName")String ztName,
			@Param(value="columns")List<String> columns, 
			@Param(value="additionalColumns")String[] additionalColumns, 
			@Param(value="conditions")List<String> conditions, 
			@Param(value="page")Page page);
}
